﻿#define _CRT_SECURE_NO_WARNINGS 1

//描述:给你一个整数n，输出n∗n的蛇形矩阵。
//输入描述：输入一行，包含一个整数n
//输出描述：输出n行，每行包含n个正整数，通过空格分隔。1 <= n <= 1000
//示例1
//输入：
//4
//输出：
//1 2 6 7
//3 5 8 13
//4 9 12 14
//10 11 15 16
//#include <stdio.h>
//int main() {
//    int n = 0, i = 0, j = 0, num = 1;
//    int k = 0, h = 0;
//    int a[1000][1000] = { 0 };
//    scanf("%d", &n);
//    for (i = 0; i < n; i++)
//    {
//        if (i % 2 == 0)
//        {
//            int k = i;
//            for (j = 0; j < i + 1; j++)
//            {
//                a[k][j] = num;
//                num++;
//                k = k - 1;
//            }
//        }
//        else
//        {
//            int k = i;
//            for (j = 0; j < i + 1; j++)
//            {
//                a[j][k] = num;
//                num++;
//                k = k - 1;
//            }
//        }
//    }
//    for (i = 1; i <= n - 1; i++)
//    {
//        if ((n - 1) % 2 == 0)
//        {
//            if (i % 2 != 0)
//            {
//                k = i;
//                h = n - 1;
//                for (j = n - i; j > 0; j--)
//                {
//                    a[k][h] = num;
//                    num++;
//                    h--;
//                    k++;
//                }
//            }
//            else
//            {
//                k = i;
//                h = n - 1;
//                for (j = n - i; j > 0; j--)
//                {
//                    a[h][k] = num;
//                    num++;
//                    h--;
//                    k++;
//                }
//            }
//        }
//        else
//        {
//            if (i % 2 != 0)
//            {
//                k = i;
//                h = n - 1;
//                for (j = n - i; j > 0; j--)
//                {
//                    a[h][k] = num;
//                    num++;
//                    h--;
//                    k++;
//                }
//            }
//            else
//            {
//                k = i;
//                h = n - 1;
//                for (j = n - i; j > 0; j--)
//                {
//                    a[k][h] = num;
//                    num++;
//                    h--;
//                    k++;
//                }
//            }
//        }
//    }
//    for (i = 0; i < n; i++)
//    {
//        for (j = 0; j < n; j++)
//        {
//            printf("%d ", a[i][j]);
//        }
//        printf("\n");
//    }
//    return 0;
//}
